:root{
    --bg: #0a0908;
    --bg-alt: #121009;
    --surface: #1a1611;
    --surface-line: #2c2418;
    --gold-light: #f3dfa3;
    --gold-mid: #cda45a;
    --gold-dark: #7a5a22;
    --gold-grad: linear-gradient(120deg, var(--gold-light) 0%, var(--gold-mid) 45%, var(--gold-dark) 100%);
    --text: #f3ede0;
    --text-muted: #a89d88;
    --text-faint: #6f6656;
    --radius: 14px;
    --serif: 'Fraunces', serif;
    --sans: 'IBM Plex Sans', sans-serif;
    --mono: 'IBM Plex Mono', monospace;
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0;
    background:var(--bg);
    color:var(--text);
    font-family:var(--sans);
    line-height:1.55;
    -webkit-font-smoothing:antialiased;
  }
  img{max-width:100%;display:block;}
  .wrap{max-width:960px;margin:0 auto;padding:0 24px;}
  section{padding:88px 0;position:relative;}
  h1,h2,h3{font-family:var(--serif);font-weight:600;margin:0;letter-spacing:-0.01em;}
  .eyebrow{
    font-family:var(--mono);
    text-transform:uppercase;
    letter-spacing:0.14em;
    font-size:12px;
    color:var(--gold-mid);
    display:inline-flex;
    align-items:center;
    gap:10px;
    margin-bottom:18px;
  }
  .eyebrow::before{content:"";width:22px;height:1px;background:var(--gold-mid);}
  .gold-text{
    background:var(--gold-grad);
    -webkit-background-clip:text;
    background-clip:text;
    color:transparent;
  }
  .btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    background:var(--gold-grad);
    color:#20160a;
    font-family:var(--sans);
    font-weight:600;
    font-size:16px;
    padding:18px 34px;
    border-radius:999px;
    border:none;
    cursor:pointer;
    text-decoration:none;
    box-shadow:0 8px 30px -8px rgba(205,164,90,0.55);
    transition:transform .25s ease, box-shadow .25s ease;
  }
  .btn:hover{transform:translateY(-2px);box-shadow:0 12px 36px -6px rgba(205,164,90,0.7);}
  .btn-sub{
    display:block;
    font-family:var(--mono);
    font-size:11px;
    color:var(--text-faint);
    margin-top:12px;
    letter-spacing:0.04em;
  }

  /* image placeholder component */
  .img-slot{
    border:1px dashed var(--surface-line);
    background:
      linear-gradient(135deg, rgba(243,223,163,0.04), rgba(122,90,34,0.04));
    border-radius:var(--radius);
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:10px;
    color:var(--text-faint);
    font-family:var(--mono);
    font-size:12px;
    letter-spacing:0.03em;
    text-align:center;
    padding:24px;
    min-height:220px;
  }
  .img-slot svg{opacity:0.5;}

  /* HERO */
  .hero{padding-top:110px;text-align:center;}
  .hero .badge{
    font-family:var(--mono);
    font-size:12px;
    color:var(--gold-mid);
    border:1px solid var(--surface-line);
    display:inline-block;
    padding:8px 16px;
    border-radius:999px;
    margin-bottom:28px;
    letter-spacing:0.05em;
  }
  .hero h1{
    font-size:clamp(34px, 5.2vw, 58px);
    line-height:1.08;
    max-width:820px;
    margin:0 auto 24px;
  }
  .hero p.lead{
    font-size:18px;
    color:var(--text-muted);
    max-width:560px;
    margin:0 auto 40px;
  }
  .hero-points{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:14px 28px;
    margin:0 0 48px;
    padding:0;
    list-style:none;
    font-size:14px;
    color:var(--text-muted);
  }
  .hero-points li{display:flex;align-items:center;gap:8px;}
  .hero-points li::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--gold-mid);flex-shrink:0;}
  .hero .img-slot{max-width:640px;margin:0 auto;min-height:280px;}

  /* SIGNATURE: installment gauge */
  .gauge-section{
    background:var(--bg-alt);
    border-top:1px solid var(--surface-line);
    border-bottom:1px solid var(--surface-line);
  }
  .gauge-wrap{
    background:var(--surface);
    border:1px solid var(--surface-line);
    border-radius:var(--radius);
    padding:40px;
  }
  .gauge-row{display:grid;grid-template-columns:100px 1fr 90px;align-items:center;gap:20px;margin-bottom:26px;}
  .gauge-row:last-child{margin-bottom:0;}
  .gauge-label{font-family:var(--mono);font-size:12px;color:var(--text-muted);letter-spacing:0.03em;}
  .gauge-track{height:14px;background:#0d0b08;border-radius:999px;overflow:hidden;border:1px solid var(--surface-line);}
  .gauge-fill{height:100%;border-radius:999px;}
  .gauge-fill.before{width:100%;background:linear-gradient(90deg,#5a4326,#3a2c17);}
  .gauge-fill.after{width:48%;background:var(--gold-grad);}
  .gauge-value{font-family:var(--mono);font-size:14px;color:var(--text);text-align:right;}
  .gauge-caption{
    text-align:center;
    color:var(--text-faint);
    font-family:var(--mono);
    font-size:12px;
    margin-top:22px;
    letter-spacing:0.03em;
  }

  h2.section-title{font-size:clamp(26px,3.4vw,38px);max-width:640px;margin-bottom:20px;}
  p.section-lead{color:var(--text-muted);font-size:16px;max-width:600px;margin-bottom:0;}

  /* PAIN */
  .pain blockquote{
    font-family:var(--serif);
    font-size:clamp(20px,2.6vw,28px);
    font-weight:400;
    font-style:italic;
    color:var(--text);
    max-width:680px;
    margin:36px 0 0;
    padding-left:26px;
    border-left:2px solid var(--gold-mid);
  }

  /* 3 reasons grid */
  .grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:48px;}
  .card{
    background:var(--surface);
    border:1px solid var(--surface-line);
    border-radius:var(--radius);
    padding:28px;
  }
  .card .num{
    font-family:var(--mono);
    font-size:13px;
    color:var(--gold-mid);
    display:block;
    margin-bottom:16px;
  }
  .card h3{font-size:19px;margin-bottom:10px;}
  .card p{color:var(--text-muted);font-size:14.5px;margin:0;}
  .card .img-slot{margin-top:18px;min-height:120px;}

  /* method steps */
  .steps{margin-top:48px;display:flex;flex-direction:column;gap:0;}
  .step{
    display:grid;
    grid-template-columns:64px 1fr;
    gap:24px;
    padding:28px 0;
    border-top:1px solid var(--surface-line);
  }
  .step:last-child{border-bottom:1px solid var(--surface-line);}
  .step-idx{
    font-family:var(--serif);
    font-size:32px;
    color:transparent;
    -webkit-text-stroke:1px var(--gold-mid);
  }
  .step h3{font-size:19px;margin-bottom:8px;}
  .step p{color:var(--text-muted);font-size:14.5px;margin:0;max-width:520px;}

  /* offer stack */
  .offer{background:var(--bg-alt);border-top:1px solid var(--surface-line);border-bottom:1px solid var(--surface-line);}
  .stack{
    background:var(--surface);
    border:1px solid var(--surface-line);
    border-radius:var(--radius);
    margin-top:44px;
    overflow:hidden;
  }
  .stack-item{
    display:grid;
    grid-template-columns:1fr auto;
    align-items:center;
    gap:16px;
    padding:22px 28px;
    border-bottom:1px solid var(--surface-line);
  }
  .stack-item .name{font-size:15.5px;}
  .stack-item .name span{display:block;color:var(--text-faint);font-family:var(--mono);font-size:12px;margin-top:4px;}
  .stack-item .price{font-family:var(--mono);color:var(--text-muted);text-decoration:line-through;font-size:14px;}
  .stack-total{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:26px 28px;
    background:linear-gradient(180deg, rgba(243,223,163,0.06), transparent);
  }
  .stack-total .label{font-family:var(--mono);font-size:12px;color:var(--text-muted);letter-spacing:0.04em;text-transform:uppercase;}
  .stack-total .value{font-family:var(--serif);font-size:40px;}
  .stack-total .value small{font-family:var(--sans);font-size:15px;color:var(--text-muted);font-weight:400;}
  .offer-cta{text-align:center;margin-top:40px;}

  /* guarantee */
  .guarantee-box{
    display:grid;
    grid-template-columns:auto 1fr;
    gap:28px;
    align-items:center;
    background:var(--surface);
    border:1px solid var(--surface-line);
    border-radius:var(--radius);
    padding:36px;
    margin-top:20px;
  }
  .guarantee-seal{
    width:84px;height:84px;border-radius:50%;
    border:1.5px solid var(--gold-mid);
    display:flex;align-items:center;justify-content:center;
    font-family:var(--serif);color:var(--gold-mid);font-size:26px;
    flex-shrink:0;
  }
  .guarantee-box h3{font-size:19px;margin-bottom:8px;}
  .guarantee-box p{color:var(--text-muted);font-size:14.5px;margin:0;}

  /* authority */
  .authority{display:grid;grid-template-columns:220px 1fr;gap:40px;align-items:center;}
  .authority .img-slot{min-height:220px;}
  .authority h3{font-size:22px;margin-bottom:10px;}
  .authority p{color:var(--text-muted);font-size:15px;}

  /* faq */
  .faq-item{border-top:1px solid var(--surface-line);padding:24px 0;}
  .faq-item:last-child{border-bottom:1px solid var(--surface-line);}
  .faq-item h3{font-size:16.5px;font-weight:500;margin-bottom:10px;font-family:var(--sans);}
  .faq-item p{color:var(--text-muted);font-size:14.5px;margin:0;}

  /* final cta */
  .final-cta{text-align:center;}
  .final-cta h2{font-size:clamp(28px,4vw,42px);max-width:640px;margin:0 auto 18px;}
  .final-cta p{color:var(--text-muted);max-width:480px;margin:0 auto 36px;}

  footer{
    border-top:1px solid var(--surface-line);
    padding:40px 0 60px;
    text-align:center;
  }
  footer p{font-size:12px;color:var(--text-faint);max-width:600px;margin:0 auto 8px;line-height:1.7;}

  @media(max-width:760px){
    .grid-3{grid-template-columns:1fr;}
    .authority{grid-template-columns:1fr;text-align:center;}
    .authority .img-slot{margin:0 auto;max-width:220px;}
    .gauge-row{grid-template-columns:70px 1fr 70px;gap:12px;}
    section{padding:64px 0;}
  }